package model

import (
	"github.com/jinzhu/gorm"
	"wangblog/utils/errmsg"
)

type Category struct {
	Name string `gorm:"type:varchar(20);not null" json:"name"`
	ID uint `gorm:"primary_key;auto_increment"json:"id"`
}



//查询分类是否存在
func CheckCategory(name string)(code int){
	var cate Category
	db.Select("id").Where("name = ?",name).First(&cate)
	if cate.ID>0{
		return errmsg.ERROR_CATENAME_USED
	}
	return errmsg.SUCCSE
}

//新增分类
func CreateCate(data *Category)int{
	//data.Password=ScryptPw(data.Password)
	err:=db.Create(&data).Error
	if err!=nil{
		return errmsg.ERROR
	}
	return errmsg.SUCCSE
}

//查询分类列表
func GetCate(pageSize int,pageNum int)([]Category,int){
	var cate []Category
	var total int
	err=db.Limit(pageSize).Offset((pageNum-1)*pageSize).Find(&cate).Count(&total).Error
	if err!=nil &&err!=gorm.ErrRecordNotFound{
		return nil,0
	}
	return cate,total
}

//编辑分类信息
func EditCate(id int,data *Category)int{
	var cate Category
	var maps = make(map[string]interface{})
	maps["name"]=data.Name
	err=db.Model(&cate).Where("id=?",id).Update(maps).Error
	if err!=nil{
		return errmsg.ERROR
	}
	return errmsg.SUCCSE
}


//删除分类
func DeleteCate(id int)int{
	err=db.Where("id=?",id).Delete(&Category{}).Error
	if err!=nil{
		return errmsg.ERROR
	}
	return errmsg.SUCCSE
}